package com.kika.obwiki.controller;

import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * 图片上传接口控制器
 * 用于处理富文本编辑器等前端图片上传请求
 * 
 * @author AI
 */
@RestController
@RequestMapping("/api/upload")
public class UploadController {

  /**
   * 图片上传接口
   * 
   * @param file 上传的图片文件
   * @return 图片的可访问URL
   * @throws IOException 文件保存异常
   */
  @PostMapping("/image")
  public Map<String, Object> uploadImage(@RequestParam("file") MultipartFile file) throws IOException {
    // 1. 保存图片到服务器指定目录
    String uploadDir = "D:/upload/"; // 可根据实际情况修改
    File dir = new File(uploadDir);
    if (!dir.exists())
      dir.mkdirs();

    String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
    File dest = new File(uploadDir + fileName);
    file.transferTo(dest);

    // 2. 返回图片的可访问URL（假设静态资源映射为 /upload/**）
    String url = "/upload/" + fileName;
    Map<String, Object> result = new HashMap<>();
    result.put("url", url);
    return result;
  }
}